# AchievementManager.registerListener(TapAchievementListener listener)
以 Promise 风格调用:不支持
# 功能描述
注册成就事件监听器,用于监听成就操作的成功或失败事件。可以注册多个监听器,所有监听器都会收到事件通知。
# 参数
# TapAchievementListener listener
成就事件监听器对象
属性 | 类型 | 必填 | 说明 |
onAchievementSuccess | function | 否 | 成就操作成功的回调函数 |
onAchievementFailure | function | 否 | 成就操作失败的回调函数 |
# onAchievementSuccess 回调函数
# 参数
参数 | 类型 | 说明 |
code | number | 操作结果代码 |
result | TapAchievement | 成就对象,包含成就的详细信息 |
# onAchievementFailure 回调函数
# 参数
参数 | 类型 | 说明 |
id | string | 成就ID |
code | number | 错误代码 |
msg | string | 错误信息 |
# 示例代码
const achievementManager = tap.createAchievementManager({
toastEnable: true
});
// 注册监听器
achievementManager.registerListener({
onAchievementSuccess: (code, achievement) => {
console.log('成就解锁成功');
console.log('成就ID:', achievement.achievementId);
console.log('成就名称:', achievement.achievementName);
console.log('成就类型:', achievement.achievementType);
if (achievement.currentStep !== undefined) {
console.log('当前进度:', achievement.currentStep);
}
},
onAchievementFailure: (id, code, msg) => {
console.error('成就操作失败');
console.error('成就ID:', id);
console.error('错误码:', code);
console.error('错误信息:', msg);
}
});
// 可以注册多个监听器
achievementManager.registerListener({
onAchievementSuccess: (code, achievement) => {
// 另一个成功处理逻辑
updateUI(achievement);
}
});